Harden static report startup ordering: receiver before RptEna/GI - #112
Draft
masarray wants to merge 3 commits into
Draft
Harden static report startup ordering: receiver before RptEna/GI#112masarray wants to merge 3 commits into
masarray wants to merge 3 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scope
This is a lifecycle-hardening change on top of PR #111's exact ARSAS-pinned engine line. A deeper audit of the current
MmsReceiveRoutershows that InformationReport PDUs are queued independently of persistent-monitor registration, so late monitor registration is not proven to be the primary cause of the current ARSAS Static DataSet physical failure. The primary physical fix remains in ARSAS PR #256 (RCB-backed selection, SCL authority, indexed-family resolution, and live RCB choice).Even so, the intended reporting contract documented by the subscription planner is receiver-first: install the report consumer before enabling an RCB and requesting GI. This PR makes that lifecycle ordering explicit for StaticDataSet activation without changing dynamic reporting.
Changes
RptEna=true.GI=trueonly after the receiver is registered and RptEna is accepted.RptEna, release URCB reservation when applicable, then unregister/drain the failed monitor.StartPersistentReportMonitorWithAttemptEvidenceAsyncthrough the receiver-first path; dynamic activation retains the existing mutation/rollback implementation.Regression contract
Source-order tests guard
RegisterPersistentReportMonitor -> RptEna=true -> GI=true, failed-startRptEna=false -> unregister, and absence of dynamic DataSet mutation from the static activation file.Integration policy
Keep this draft and do not pin it into the next physical ARSAS candidate until the narrower ARSAS RCB-selection fix is validated. The receive router already retains InformationReports queued during confirmed MMS operations, so this PR is robustness/contract alignment rather than a claimed root-cause fix.